package org.example.handle;

import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.*;
import org.example.domin.School;
import org.springframework.stereotype.Component;

import java.util.Date;

/**
 * @Aspect 表示这是一个切面类
 */
@Aspect
public class MyAspect {
    /**
     * 异常通知的定义
     *   1.方法是public
     *   2.方法没有返回值
     *   3.方法名称自定义
     *   4.方法有参数是Exception
     *
     * @AfterThrowing：异常通知
     *  属性：value 切入点表达式
     *      throwing 自定义变量，表示目标方法抛出的异常
     *               变量名称必须和通知方法的形参一样
     */
    @After(value = "execution(public  * org.example.service.*.*(..))")
    public void myAfter(){
        System.out.println("最终通知，始终会被执行");
    }
}
